It is generally known that image compression is effective in reducing the amount of image data for transmission or storage. In particular, with the introduction of scalable image coding formats like the JPEG2000, it has become possible to send and receive only a fraction of the image file and still reconstruct a high-quality image at the receiving end. The part that is dropped from the image usually contains information that does not add much improvement in perceptual image quality.
JPEG stands for Joint Photographic Experts Group for image compression. In 1988, this committee adopted its first standard, known as the JPEG baseline, which is based on discrete cosine transform (DCT) and on Huffman coding. In 2001, the JPEG committee developed a new compression standard, named JPEG2000. This new standard provides low bit-rate operation, with rate-distortion and subjective image quality performance superior to existing standards, without sacrificing performance at other points in the rate-distortion spectrum. More importantly, JPEG2000 allows extraction of different resolutions and pixel fidelities of a compressed image from the same codestream representation. It also offers features such as region-of-interest (ROI) coding and random access to image areas. This allows a user to manipulate, store or transmit only the essential information of an image for any target device from its JPEG2000 bitstream representation.
JPEG2000 is a subband decomposition-based bit-plane coder. It uses wavelets at the transform stage. The image is decomposed to multiple resolutions. Each resolution is composed of subbands representing low and/or high frequency components. The samples in the subbands are then coded in bit-planes starting from the most significant bit-plane. The usage of the wavelet transform and the bit-plane coding scheme provide the scalability features of JPEG2000, including the scalability of quality, resolution and color components of the image.
With the advent of multimedia communications devices, the realm of multimedia content has penetrated the mobile market. Still imaging is among the foremost driving member of this gamut of multimedia content. While most of the still images on multimedia communications devices are stored in the existing JPEG format, the new JPEG2000 standard will make its way into these devices. Thus, it is imperative that the JPEG2000 standard is supported by these communications devices. It is even more important to develop applications for such devices that exploit the features in the JPEG2000 standard.
Image Surfing is a method by which still images are viewed in a mobile device, one portion of the image at a time, as if the user is surfing the image. Viewing a full resolution image is generally not possible in the mobile terminal device as the display size is small, and the bandwidth and processing power of such a device is not high enough to make such a process practical. Image Surfing makes it possible to view the image at its original resolution but in bits and pieces. As such, the mobile device, which is a client, communicates with an image server so that the server sends the relevant data of the image to the client.
While the Image Surfing application is useful, it has some inherent limitations due to the nature of the wireless communications involved. Whenever the user wishes to view a new portion of the image, the client sends a request to the server indicating that new portion. Depending on the network conditions, a considerable amount of time may elapse before the request is served. This may cause inconvenience to the user as a significant amount of time may be lost.
Other types of clients, such as pocket PCs, communicators, and imaging phones, also share the inherent limitations due to the nature of wireless communications.
As mentioned earlier, it is impractical, if not impossible, to display high-quality, high resolution images at their original resolution and quality. However, if quality and resolution can be comprised, a client wishing to download a very large image has a limited number of options.
Two popular solutions that have been used on the Internet for low-memory, low-bandwidth clients can be applied to mobile multimedia devices. The first solution is to download a “thumbnail” version of the original image. It should be noted that the thumbnail is a separate image that has a much smaller resolution than the original image and, therefore, is of a practical size for the client to download and decode. However, the resolution of a thumbnail is much lower than the original image, making it extremely difficult, if not impossible, to view the details in the image carried in the thumbnail. The second solution is to download and decode only a part of the code-stream. But that can only be done if the image has been compressed with a codec that supports progressive decoding. Even with this method, the visual quality of the image is much lower and the details may also be difficult to view.
Alternatively, if the image has not been compressed with a codec that supports progressive decoding, the server can encode the image at a very low bit rate so that it can be transmitted to the client. However, the quality issue still remains because a low bit rate image will have poor visual quality. In other words, none of above-mentioned solutions brings satisfactory results to the consumers. These solutions compromise either quality or resolution—the two single most important characteristics of high-quality, high-resolution images.
In prior art, a FlashPix format is used to overcome the above-mentioned problems. The FlashPix format forms a pyramidal multi-resolution representation of the image. With that format, each resolution is divided into squares or rectangular areas and each area is coded independently by JPEG baseline. The problem with this approach is that the sever needs to have many different code-streams of the same single image, each code-stream corresponding to a different resolution. When the server is host to thousands and thousands of images, the task would become unmanageable.
It is thus advantageous and desirable to provide a method and system to improve visual quality of images provided by a server and displayed by a client in a low-memory and low bandwidth environment.